class Katana1_ extends Katana;
/*
var float NextIronTime,LungeTime,CuttingDamage;
var bool bNeedLunge;

replication
{
	reliable if(Role < ROLE_Authority)
		MakeMove,
		bNeedLunge,
		LungeTime,
		DoLunge;
}

simulated function PostBeginPlay()
{
	Super.PostBeginPlay();
	NextIronTime = Level.TimeSeconds + 3.0;
}

simulated exec function ToggleIronSights()
{
	local KFPlayerReplicationInfo KFPRI;
	
	//this functionality is available to berserkers only
	KFPRI = KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo);
	if ( KFPRI == none || KFPRI.ClientVeteranSkill != Class'SRVetPhantom' || SRPlayerReplicationInfo(KFPRI).bInvisible )
		return;
	
	if ( Instigator.Physics != PHYS_Walking || Instigator.bIsCrouched )
		return;
		
	if (
		NextIronTime <= Level.TimeSeconds &&
		!FireMode[0].bIsFiring && FireMode[0].NextFireTime < Level.TimeSeconds &&
		!FireMode[1].bIsFiring && FireMode[1].NextFireTime < Level.TimeSeconds
		)
	{
		if (Instigator != none && Instigator.Physics != PHYS_Falling)
		{
			MakeMove();
			if (ROLE < ROLE_AUTHORITY) //client-side fx, essentially
				FireMode[1].ModeDoFire();
			NextIronTime=Level.TimeSeconds+3.5;
		}
	}
}

simulated function MakeMove()
{
	if ( Instigator.Physics != PHYS_Walking || Instigator.bIsCrouched )
	{
		SRHumanPawn(Instigator).bPerformMove = false;
		return;
	}
	FireMode[1].ModeDoFire();
	LungeTime = Level.TimeSeconds + FireMode[1].FireRate/KFMeleeFire(FireMode[1]).GetFireSpeed() - 0.10;
	bNeedLunge = true;
	SRHumanPawn(Instigator).bPerformMove = true;
}

simulated function Tick(float DeltaTime)
{
	if ( bNeedLunge && LungeTime < Level.TimeSeconds )
	{
		bNeedLunge = false;
		SRHumanPawn(Instigator).bPerformMove = false;
		DoLunge();
	}
	Super.Tick(DeltaTime);
}

simulated function DoLunge()
{
	local rotator VR; //ViewRotation
	local vector DirMomentum;
	local vector NewLoc,OldLoc;
	local vector Direction;
	local int i,j;
	local bool bOk,bMon;
	local KFMonster Mon;
	local array<KFMonster> Damaged;
	
	VR = Instigator.Controller.GetViewRotation();

	DirMomentum.X = 32.0 * (1.0 + KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo).ClientVeteranSkill.static.GetMeleeMovementSpeedModifier(KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo)));
	DirMomentum.Y = 0.0;
	DirMomentum.Z = 0.0;
	VR.Pitch=0;
	
	Direction = normal( DirMomentum >> VR ) * 15.0 * (1.0 + KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo).ClientVeteranSkill.static.GetMeleeMovementSpeedModifier(KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo)));
	OldLoc = Instigator.Location;
	NewLoc =  OldLoc;
	
	for(i=0; i<20; i++)
	{
		bOk = false;
		bMon = false;
		NewLoc = NewLoc + Direction;
		if ( Instigator.Controller.PointReachable(NewLoc) )
		{
			bOk = true;
			foreach CollidingActors(class'KFMonster', Mon, Instigator.CollisionRadius+200, NewLoc)
			{
				if ( Mon != none && VSize(Mon.Location - NewLoc) <= Mon.CollisionRadius + Instigator.CollisionRadius )
				{
					bOk = false;
					bMon = true;
					for(j=0; j<Damaged.Length; j++)
					{
						if ( Mon.Controller == Damaged[j].Controller )
						{
							Mon = none;
							break;
						}
					}
					if ( Mon != none )
					{
						Damaged.Insert(0,1);
						Damaged[0] = Mon;
						Mon.TakeDamage(KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo).ClientVeteranSkill.static.AddDamage(KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo),Mon,KFPawn(Instigator),CuttingDamage,class'DamTypeKatana'), Instigator, Mon.Location, Vrand()*0.0, SRMeleeFire(FireMode[1]).bleedoutdamageclass);
					}
					break;
				}
			}
		}
		if ( bOk )
		{
			OldLoc = NewLoc;
			Instigator.SetLocation(OldLoc);
		}
		else if ( bMon )
		{
			if ( i >= 19 )
			{
				Instigator.SetLocation(OldLoc);
				break;
			}
		}
		else
		{
			Instigator.SetLocation(OldLoc);
			break;
		}
	}
	
//	KFGameType(Level.Game).DramaticEvent(0.01);
	DKGameType(Level.Game).DebugMessage("KFPCServ = "$string(KFPCServ(Instigator.Controller)));
	KFPCServ(Instigator.Controller).AddZedTimeCharge(0.10);
	SRHumanPawn(Instigator).ConsumeStamina(7.5);
}
*/
defaultproperties
{
    FireModeClass(0)=Class'KatanaFireNew'
    FireModeClass(1)=Class'KatanaFireNewB'
    PickupClass=Class'Katana1Pickup'
    AttachmentClass=Class'KFMod.KatanaAttachment'
}
